Question L2-C1

The question is about basic filter and edge detector classical operators in computer vision. The goal of the question is to check the understanding of these two operations (filtering and making edge detection) and how these operations combine into a single operator. The question is: "For a vision task of obstacle detection like in the course project, you have to extract from an image some shapes made in black on a white background, but knowing there is some noise in the image that need to be filtered. You would like therefore to have a gaussian noise filtering and then an edge detection, but the project request that you execute it in the minimal time. Here are some functions you have in your library and you can combine, which one would you execute to do the required task?". A picture illustrates a figure made of a solid black square and a solid black triangle on a noisy background. Five possibilities are proposed:

Answer A: "Gaussian smoothing: 1.5ms".
This answer is wrong: if used, this operator does not provide the fastest pipeline, because making only the filtering and not the edge detection. Combined with a "Simple edge detection : 2.4 ms", this makes 3.9 ms while the canny edge filter makes both operations in 3.8ms.
In the explanation of the student we would like that the student mentions that this operator makes only part of the required job, while other operators make the full job.

Answer B: "Edge detection with Sobel kernel : 4 ms"
This answer is wrong: if used, this operator does not provide the fastest pipeline, because it makes an approximation of the canny edge filter in 4ms while the real canny edge filter is done in 3.8ms. 
In the explanation of the student we would like that the student mentions that this operator is an approximation of the canny edge filter but here is slower than the canny edge filter.

Answer C: "Canny edge filter : 3.8 ms"
This answer is correct: The canny edge filter includes a gaussian smoothing step which effectively filters out noise, and then an edge detection. It is the fastest pipeline to use and makes the whole job.
In the explanation of the student we would like that the student mentions that this operator is the fastest and combines the two tasks in one step.

Answer D: "Simple edge detection : 2.4 ms"
This answer is wrong: if used, this operator does not provide the fastest pipeline, because making only the edge detection and not the filtering. Combined with a "Gaussian smoothing: 1.5ms", this makes 3.9 ms while the canny edge filter makes both operations in 3.8ms.
In the explanation of the student we would like that the student mentions that this operator makes only part of the required job, while other operators make the full job.

Answer E: "Moving average on patches of 5x5 pixels: 1 ms"
This answer is wrong: while it is a smoothing filter, it is bad at preserving edges and is to be avoided in contour detection tasks. Gaussian filtering is much better.
In the explanation of the student we would like that the student mentions that this operator is not making well he filtering job, and makes only this part in any case.
